Game for moving an object on a screen in response to movement of an operation article

ABSTRACT

Since a cursor displayed on a screen of a television monitor moves in conjunction with a motion of an operation article operated by a player, intuitive operation can be possible so that the player can play a game easily. A mermaid displayed on the screen follows the cursor when the player moves the cursor by operating the operation article. In this way, the player operates the mermaid indirectly and avoids obstacle objects and obstacle images.

This application claims foreign priority based on Japanese Patentapplication No. 2003-362637, filed Oct. 23, 2003, the contents of whichis incorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is related to a game apparatus and related artsthereof for playing by operating an operation article to move an objectdisplayed on a screen.

2. Description of the Related Art

The following maze game apparatus is described in Patent publication(Jpn. unexamined patent publication No. 2002-263370). A player operatesan input device (key board, mouse etc.) to move an object displayed on ascreen for proceeding through a maze. In this case, a pathway of themaze is changed every predetermined period. As a result, the player canenjoy the maze game without growing weary.

In case of this conventional maze game apparatus, since the object isoperated by an ordinary input device such as a mouse used for a personalcomputer, the operation is merely extension of operation of the personalcomputer. In addition, because the input device is used for the personalcomputer, it is hard to say it is suitable for this kind of game fromthe point of view of operationality. Furthermore, sometimes it isdifficult for people who do not get used to use a personal computer if agame is performed on the personal computer.

So far, the following game played in real space has been available. Forexample, a pathway is formed by arranging two metal wires vertically. Aplayer inserts a bar provided with metal to the pathway from the side,and moves the bar along the pathway trying not to touch the metal wires.When the metal part of the bar touches either of metal wires, since anelectric current flows through the metal wires, it results in giving offsparks, and then the game is over.

Conventionally, the computer game operable to perform the gameoriginally played in the real space has been available. In other words,a player operates an input device (a controller for game apparatus etc.)to move an object displayed on a screen for proceeding through a maze.Then, when the object touches wails of the maze, the game is over. Forexample, there is the TV game (Product name: Denryu Iraira-bou(registered trademark) Returns) released by Zaurus Corporation on 19Mar. 1998.

In case of the conventional game apparatus, since the object is operatedby a multipurpose controller for an game apparatus, the player operatesdirection keys and an analog stick to move the object. In other words,the player does not actually move the controller itself but pushes theprovided direction keys or operates the analog stick to move the object.Some people find it difficult to operate this kind of controllerefficiently.

SUMMARY OF INVENTION

It is an object of the present invention to provide a game apparatuswhich allows intuitive operation of an object displayed on a screen andcan be played with easy operation.

In accordance with the first aspect of the present invention, a gameapparatus comprises: a stroboscope operable to direct light onto anoperation article at predetermined intervals; an imaging device operableto image said operation article with and without light emitted from saidstroboscope and generate a lighted image signal and a non-lighted imagesignal; a differential signal generating unit operable to generate adifferential signal between said lighted image signal and saidnon-lighted image signal; a state information calculating unit operableto calculate state information of said operation article on the basis ofsaid differential signal; a coupled object control unit operable tocontrol display of a coupled object which moves as said operationarticle moves in accordance with said state information of saidoperation article; and a restrictive image control unit operable tocontrol a restrictive image which limits movement of said coupledobject.

In accordance with this configuration, the coupled object moves inconjunction with the motion of the operation article. As a result, thegame apparatus allows intuitive operation of the coupled objectdisplayed on a screen and can be played with easy operation.

In accordance with the second aspect of the present invention, a gameapparatus comprises: a stroboscope operable to direct light onto aoperation article at predetermined intervals; an imaging device operableto image said operation article with and without light emitted from saidstroboscope and generate a lighted image signal and a non-lighted imagesignal; a differential signal generating unit operable to generate adifferential signal between the lighted image signal and the non-lightedimage signal; a state information calculating unit operable to calculatestate information of said operation article; a cursor control unitoperable to control display of a cursor indicating location of saidoperation article on a screen and a following object control unitoperable to control display of a following object which follows saidcursor on the basis of coordinate information of said cursor.

In accordance with this configuration, since the cursor representslocation of the operation article on the screen, the motion of thecursor needs to be synchronized or almost synchronized with the motionof the operation article. Therefore, the cursor control is bound by themotion of the operation article. On the other hand, since the followingobject follows the motion of the cursor, it is possible to set arbitraryin what manner the following object follows the cursor. Therefore, it ispossible to give variety to the motion of the following object and alsogive more impressive optical effect.

In addition, since the cursor is controlled on the basis of the stateinformation of the operation article, the cursor moves insynchronization with the motion of the operation article. Therefore,intuitive operation of the cursor becomes possible so that the playercan play the game with easy operation.

This game apparatus further comprises a restrictive image control unitoperable to control a restrictive image which limits movement of thefollowing object.

In accordance with this configuration, the player has to move thefollowing object and avoid the restrictive image by operating the cursorusing the operation article. In this way, the game becomes more excitingso that the player can enjoy the game more.

The above game apparatus according to the first and second aspect of thepresent invention further comprises a game managing unit operable tomanage information indicating whether a player can continue a game andends the game in accordance with said information.

In accordance with this configuration, since the player can not play thegame without any restriction, the player has to play the game with asense of tension so that the game becomes more exciting.

In the above game apparatus according to the first and second aspect ofthe present invention, said restrictive image control unit comprises abackground image control unit operable to control background scroll andwherein said background image includes said restrictive image.

In accordance with this configuration, since controlling the backgroundimage scroll and controlling the obstacle image are similar meaning, therestrictive image display control becomes easier.

In the above game apparatus according to the first and second aspect ofthe present invention, said restrictive image control unit comprises arestrictive object control unit operable to control a restrictive objectwhich consists of a single sprite or a plurality of sprites as saidrestrictive image.

In accordance with this configuration, it is possible to perform moredetailed display control of the restrictive image so that theflexibility of designing game contents is improved.

In the above game apparatus according to the first and second aspect ofthe present invention, said restrictive image is an image constructing amaze.

In accordance with this configuration, as mentioned above, since thocoupled object or the cursor moves in conjunction with the motion of theoperation article, more intuitive operation becomes possible and theplayer can play the maze game with ease.

In the above game apparatus according to the first and second aspect ofthe present invention, when said coupled object touches or thrusts intoan area which said restrictive image is displayed, a game is over.

In accordance with this configuration, since it is possible to operatethe coupled object or the cursor by operating the operation article, theplayer can enjoy feeling as if the player operated the operation articleto avoid obstacles existing in actual space even though the restrictiveimage and the coupled object or the restrictive image and the cursoractually exist on the screen. In addition, it is possible to reduce thecost and necessary space to play the game as compared to a gameapparatus for dodging obstacles in real space.

In the above game apparatus according to the first and second aspect ofthe present invention, said state information of said operation articlederived by said state information calculating unit includes any one ofspeed information, movement direction information, movement distanceinformation, velocity vector information, acceleration information,motion path information, area information and location information, or acombination thereof.

In accordance with this configuration, since it is possible to controlthe coupled object or the cursor by using various information of theoperation article, the flexibility of designing game contents isimproved.

BRIEF DESCRIPTION OF THE DRAWINGS

The aforementioned and other features and objects of the presentinvention and the manner of attaining them will become more apparent andthe invention itself will be best understood by reference to thefollowing description of a preferred embodiment taken in conjunctionwith the accompanying drawings, wherein:

FIG. 1 is a view showing the overall configuration of a game system inaccordance with the embodiment of the present invention.

FIG. 2 is a perspective view of the operation article of FIG. 1.

FIG. 3A is a top view of the reflecting ball of FIG. 2.

FIG. 3B is a side view from the direction of an arrow A of FIG. 3A.

FIG. 3C is a side view from the direction of an arrow B of FIG. 3A.

FIG. 4 is a vertical cross-sectional view of the reflecting ball of FIG.2.

FIG. 5 is a cross-sectional view of an example of the imaging unit ofFIG. 1.

FIG. 6 is a view showing the electrical structure of the game apparatusof FIG. 1.

FIG. 7 is a block diagram of the high speed processor of FIG.

FIG. 8 is a circuit diagram showing the configuration for inputting thepixel data from the image sensor to the high speed processor of FIG. 6,and a LED driver circuit.

FIG. 9 is a timing chart illustrating the process for inputting thepixel data from the image sensor to the high speed processor.

FIG. 10 is an enlarged view of a portion of the timing chart shown inFIG. 9.

FIG. 11 is a view showing an example of the game screen in the firststage displayed on the screen of the television monitor.

FIG. 12 is a view showing another example of the game screen in thefirst stage displayed on the screen of the television monitor.

FIG. 13 is a view showing an example of the game screen in the secondstage displayed on the screen of the television monitor of FIG. 1.

FIG. 14 is a view for explaining sprites constructing an objectdisplayed on the screen.

FIG. 15 is a view for explaining the background screen displayed on thescreen of the television monitor of FIG. 1.

FIG. 16A is a view for explaining the background screen before scrolled.

FIG. 16B is a view for explaining the background screen after scrolled.

FIG. 17 is a schematic representation of a program and data stored inROM of FIG. 6.

FIG. 18A is a view showing an example of an image which is imaged by ageneral image sensor and is not applied any special process.

FIG. 18B is a view showing an example of an image based on a result oflevel-discriminating the image of FIG. 18A with a predeterminedthreshold value.

FIG. 18C is a view showing an example of an image based on a result oflevel-discriminating an image which is obtained through the infraredfilter while the infrared-emitting diodes emit infrared light.

FIG. 18D is a view showing an example of an image based on a result oflevel-discriminating an image which is obtained through the infraredfilter while the infrared-emitting diodes do not emit the infraredlight.

FIG. 18E is a view showing an example of an image based on a differencebetween the image with light emitted and the image without light emittedfrom the infrared-emitting diodes.

FIG. 19 is a view for explaining coordinate calculation of the targetpoint of the operation article.

FIG. 20A is a view for explaining scanning process in X-axial directionwhen the CPU calculates the coordinate of the target point of theoperation article on the basis of the pixel having the maximum luminancevalue.

FIG. 20B is a view for explaining the beginning of the scanning processin Y-axial direction when the CPU calculates the coordinate of thetarget point of the operation article on the basis of the pixel havingthe maximum luminance value.

FIG. 20C is a view for explaining the scanning process in Y-axialdirection when the CPU calculates the coordinate of the target point ofthe operation article on the basis of the pixel having the maximumluminance value.

FIG. 20D is a view for explaining the result when the CPU calculates thecoordinate of the target point of the operation article on the basis ofthe pixel having the maximum luminance value.

FIG. 21 is a view for explaining the following object control processperformed by the CPU.

FIG. 22A is a view showing a relation between a value of the angle flagand the angle.

FIG. 22B is a view showing a relation between a value of the directionflag and a sign indicating the direction.

FIG. 22C is a view showing a relation among the angle flag, thedirection flag and the movement direction information.

FIG. 23 is a view showing a relation between the movement directioninformation of FIG. 22C and a direction of the mermaid.

FIG. 24 is a view showing a relation between the movement directioninformation A0 to A7 and the storage location information of theanimation table.

FIG. 25 is a view showing an example of the animation table designatedby the storage location information of FIG. 24 for animating themermaid.

FIG. 26 is a view for explaining the clash judging process performed bythe CPU.

FIG. 27 is a view for explaining overlapping patterns judged by thefollowing object control process performed by the CPU.

FIG. 28A is a view showing an example of a frame part of the power gaugeshown in FIG. 11 to FIG. 13.

FIG. 28B is a view showing an example of elements constructing the barof the power gauge.

FIG. 29 is a flowchart showing the overall process flow of the gamemachine.

FIG. 30 is a flowchart showing the process flow of the initial settingprocess of step S1 of FIG. 29.

FIG. 31 is a flowchart showing the process flow of the sensor initialsetting process of step S20 of FIG. 30.

FIG. 32 is a flowchart showing the process flow of the commandtransmitting process of step S31 of FIG. 31.

FIG. 33A is a timing chart of the register setting clock “CLK” of FIG.8.

FIG. 33B is a timing chart of the register Data of FIG. 8.

FIG. 34 is a flowchart showing the process flow of the register settingprocess of step S33 of FIG. 31.

FIG. 35 is a flowchart showing the process flow of the state informationcalculating process of step S4 of FIG. 29.

FIG. 36 is a flowchart showing the process flow of the pixel dataaggregation acquiring process of step S60 of FIG. 35.

FIG. 37 is a flowchart showing the process flow of the pixel dataacquiring process of step S71 of FIG. 36.

FIG. 38 is a flowchart showing the process flow of the target pointextracting process of step S61 of FIG. 35.

FIG. 39 is a flowchart showing the process flow of the target pointcoordinate calculating process of step S95 of FIG. 38.

FIG. 40 is a flowchart showing the process flow of the following objectcontrol process of step S8 of FIG. 29.

FIG. 41 is a view showing an example of game screen in anotherembodiment.

FIG. 42 is a view for explaining a clash judgment on the game screen ofFIG. 41.

FIG. 43 is a view for explaining a coordinate calculation when thecursor of FIG. 41 clashes the wall.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

In what follows, an embodiment of the present invention will beexplained in conjunction with the accompanying drawings. Similarelements are given similar references throughout the respectivedrawings.

FIG. 1 is a view showing the overall configuration of a game system inaccordance with the embodiment of the present invention. As illustratedin FIG. 1, this game system includes a game apparatus 1, an operationarticle 150, and a television monitor 90.

An imaging unit 13 is installed in a housing 19 of the game apparatus 1.The imaging unit 13 has four infrared-emitting diodes 15 and an infraredfilter 17. Light emitting portions of the infrared-emitting diodes 15are exposed from the infrared filter 17.

An AC adapter 92 supplies the game apparatus 1 with direct current powervoltage. However, instead of using the AC adaptor 92, the game apparatus1 can be supplied with the direct current power voltage from batteries(not shown). A screen 91 is provided on the front surface of thetelevision monitor 90. The television monitor 90 and the game apparatus1 are connected by an AV cable 93. For example, the game apparatus 1 isset up on the television monitor 90 as illustrated in FIG. 1.

When a player 94 turns on a power switch (not shown) provided on back ofthe game apparatus 1, a game screen is displayed on the screen 91. Theplayer 94 operates the operation article 150 to move a cursor and afollowing object (hereinafter described) on the game screen, andproceeds with a game. Meanwhile, operating the operation article 150does not mean pushing switches or operating analog sticks but moving theoperation article 150 itself. Each of the infrared-emitting diodes 15intermittently emits infrared-light. The infrared-light as emitted bythe infrared-emitting diodes 15 is reflected by reflecting sheets(hereinafter described) provided on the operation article 150, and thenthe return light is input to a imaging device (hereinafter referred)placed behind the infrared filter 17. In this way, the operation article150 is imaged intermittently. Therefore, the game apparatus 1 canacquire intermittent image signals of the operation article 150 moved bythe player 94. The game apparatus 1 analyzes the image signals, andreflects the result to game process. The reflecting sheet used in thisembodiment is, for example, a retroreflective sheet.

FIG. 2 is a perspective view of the operation article 150 of FIG. 1. Asillustrated in FIG. 2, the operation article is provided with areflecting ball 151 fixed on the top of a stick 152. The reflecting ball151 reflects the infrared-light emitted by infrared emitting diodes 15.The reflecting ball 151 will be described in detail.

FIG. 3A is a top view of the reflecting ball 151 of FIG. 2. FIG. 3B is aside view from the direction of an arrow A of FIG. 3A. FIG. 3C is a sideview from the direction of an arrow B of FIG. 3A.

As illustrated in FIG. 3A to 3C, the reflecting ball 151 consists of atransparent (including translucent, colored transparent and colorlesstransparent) outer spherical shell 153 and an inner spherical shell 154,wherein the inner spherical shell 154 is secured inside of the outerspherical shell 153. Reflecting sheets 155 are provided on the surfaceof the inner spherical shell 154. These reflecting sheets 155 reflectthe infrared-light coming from infrared-emitting diodes 15.

FIG. 4 is a vertical cross-sectional view of the reflecting ball 151 ofFIG. 2. As illustrated in FIG. 4, the outer spherical shell 153 isformed by two outer semispherical shells fixed together by bosses 156and screws (not shown). The inner spherical shell 154 is formed by twoinner semispherical shells fixed together by bosses 157 inside of theouter spherical shell 153. Meanwhile, the stick 152 is set in and fixedwith the reflecting ball 151. More specifically, the stick 152 is nippedbetween two outer semispherical shells constructing the outer sphericalshell 153 and also nipped between two inner semispherical shellsconstructing the inner spherical shell 154, then the outer semisphericalshells are fixed by the bosses 156 and the screws, and then the innersemispherical shells are fixed by the bosses 157.

FIG. 5 is a cross-sectional view of an example of the imaging unit 13 ofFIG. 1. As shown in FIG. 5, this imaging unit 13 includes a unit base 35which is, for example, formed of plastic, and a supporting cylindricalpart 36 is attached inside of the unit base 35. In addition, aninverted-cone-shaped (or trumpet-shaped) aperture 41 is formed in theupper side of the supporting cylindrical part 36. An optical systemincluding a concave lens 39 and converging lens 37 is attached inside ofthe supporting cylindrical part 36 so that it is located under theinverted-cone-shaped aperture 41. For example, the concave lens 39 andthe converging lens 37 are formed of lucent plastic. An image sensor 43as an imaging device is firmly fixed under the converging lens 37.Therefore the image sensor 43 can pick up an image in response toincident light passing through the concave lends 39 and the converginglends 37 from the aperture 41.

The image sensor 43 is a low-resolution CMOS image sensor (for example,32 pixels×32 pixels, gray scale). However, this image sensor 43 can bereplaced by a higher resolution image sensor or other device such asCCD. In what follows, it is assumed that the image sensor 43 consists of32 pixels×32 pixels. Furthermore, the unit base 35 has several (4 inthis embodiment) infrared-emitting diodes 15 which flash upwardly. Theupside of the imaging unit 13 is lighted by infrared-light from theseinfrared-emitting diodes 15. Meanwhile, the infrared filter 17 (whichtransmits only infrared-light) is arranged in a manner to bring it coverthe aperture 41. Moreover, as explained later, the infrared-emittingdiodes 15 repeat flash and un-flash alternately so that they can serveas a stroboscope. The term “stroboscope” is a generic term, whichindicates an apparatus that intermittently irradiates light to a movingobject. The above-mentioned image sensor 43 can, therefore, image anarticle that moves within a scope of the imaging unit 13, or theoperation article 150 in this embodiment. Referring to after-mentionedFIG. 8, the stroboscope consists of the infrared-emitting diodes 15, aLED drive circuit 75 and a high speed processor 200.

The imaging unit 13 is installed in the housing 19 and its lightreceiving surface is inclined prescribed angle (for example, 90 degrees)from horizontal-plane. In addition, the scope of the image sensor 43 isa range of 60 degrees, which depends on the concave lens 39 and theconverging lends 37.

FIG. 6 is a view showing the electrical structure of the game apparatus1 of FIG. 1. As shown in FIG. 6, the game apparatus 1 include the imagesensor 43, the infrared-emitting diodes 15, a video signal outputterminal 47, an audio signal output terminal 49, the high speedprocessor 200, a ROM (read only memory) 51 and a bus 53.

The high speed processor 200 is connected with the bus 53. Furthermore,the bus 53 is connected with the ROM 51. Therefore, the high speedprocessor 200 can access the ROM 51 via the bus 53 so that the highspeed processor 200 can read a control program stored in the ROM 51 andexecute the control program. In addition, the high speed processor 200reads image data and sound data stored in the ROM 51 and processes them.Then, the high speed processor 200 generates a video signal and an audiosignal, and outputs them to the video output terminal 47 and the soundoutput terminal 49.

The operation article 150 is exposed to infrared-light coming from theinfrared-emitting diodes 15 and reflects the infrared-light by thereflecting sheets 155. The return light from reflecting sheets 155 isdetected by the image sensor 43, and then the image sensor 43 outputs ananalog image signal of the reflecting sheets 155. The analog imagesignal from the image sensor 43 is converted into a digital image signalby an A/D converter (hereinafter referred) built in the high speedprocessor 200. The same process is also executed when theinfrared-emitting diodes 15 do not flash. Then the high speed processor200 analyzes these digital image signals and reflects the result to gameprocessing.

FIG. 7 is a block diagram of the high speed processor 200 of FIG. 6. Asshown in FIG. 7, this high speed processor 200 includes a CPU (centralprocessing unit) 201, a graphic processor 202, a sound processor 203, aDMA (direct memory access) controller 204, a first bus arbitratorcircuit 205, a second bus arbitrator circuit 206, an inner memory 207,an A/D converter (ADC: analog to digital converter) 208, an I/O (inputand output) control circuit 209, a timer circuit 210, a DRAM (dynamicrandom access memory) refresh control circuit 211, an external memoryinterface circuit 212, a clock driver 213, a PLL (phase-locked loop)circuit 214, a low voltage detector circuit 215, a first bus 218 and asecond bus 219. The CPU 201 performs various operations and controls theoverall system in accordance with a program stored in the memory (theinner memory 207, or the ROM 51). In addition, the CPU 201 is a busmaster of the first bus 218 and the second bus 219, and able to accessresources connected with the each bus.

The graphic processor 202 is a bus master of the first bus 218 and thesecond bus 219. The graphic processor 202 generates a video signal onthe basis of the data stored in the inner memory 207 or ROM 51, and thenoutput the video signal to the video signal output terminal 47. Thegraphic processor 202 is controlled by the CPU 201 via the first bus218. In addition, the graphic processor 202 has the functionality ofgenerating an interrupt request signal 220 to the CPU 201.

The sound processor 203 is a bus master of the first bus 218 and secondbus address bus 219. The sound processor generates an audio signal onthe basis of the data stored in the inner memory 207 or ROM 51, and thenoutput the audio signal to the audio signal output terminal 49. Thesound processor 203 is controlled by the CPU 201 trough the first bus218. In addition, the sound processor 203 has the functionality ofgenerating an interrupt request signal 220 to the CPU 201.

The DMA controller 204 controls data transfer from the ROM 51 to theinner memory 207. Also, the DMA controller 204 has the functionality ofoutputting, to the CPU 201, an interrupt request signal 220 indicativeof the completion of the data transfer. The DMA controller 204 is a busmaster of the first bus 218 and second bus 219. In addition, the DMAcontroller 204 is controlled by the CPU 201 via the first bus 218.

The inner memory 207 may be implemented with appropriate one of a maskROM, an SRAM (static random access memory) and a DRAM in accordance withthe system requirements. If data in SRAM has to be kept by a battery, abattery 217 is provided. In the case where a DRAM is used, the so calledrefresh cycle is periodically performed to maintain the data containedtherein. The first bus arbitrator circuit 205 accepts a first busrequest signal from each bus master of the first bus 218, and performsarbitration, and then issues a first bus grant signal to each busmaster. Each bus master is allowed to access the first bus afterreceiving the first bus grant signal. In FIG. 7, the first bus requestsignal and the first bus grant signal are referred as first busarbitration signals 222.

The second bus arbitrator circuit 206 accepts a second bus requestsignal from each bus master of the second bus 219, and performs outarbitration, and then, issues a second bus grant signal to each busmaster. Each bus master is allowed to access the second bus afterreceiving the second bus grant signal. In FIG. 7, the second bus requestsignal and the second bus grant signal are referred as second busarbitrator signals 223.

The input/output control circuit 209 serves to perform input and outputoperations of input/output signals to enable the communication withexternal input/output device(s) and/or external semiconductor device(s). The read and write operations of input/output signals are performedby the CPU 201 through the first bus 218. Moreover, the Input/outputcontrol circuit 209 has the functionality of generating an interruptrequest signal 220 to the CPU 201.

A LED control signal “LEDC” which controls the infrared-emitting diodes15 is output from this I/O control circuit 209.

The timer circuit 210 has the functionality of generating an interruptrequest signal 220 to the CPU 201 at time intervals as preset. Thesetting of the timer circuit 210 such as the time interval is performedby the CPU 201 through the first bus 218.

The ADC 208 converts an analog input signal into a digital signal. Thedigital signal is read by the CPU 201 via the first bus 218. Moreover,the ADC 208 has the functionality of generating an interrupt requestsignal 220 to the CPU 201.

This ADC 208 receives analog pixel data from the image sensor 43 andconverts the analog pixel data into digital pixel data.

The PLL circuit 214 generates a high frequency clock signal bymultiplication of the sinusoidal signal as obtained from a quartzoscillator 216.

The clock driver 213 amplifies the high frequency clock signal asreceived from the PLL circuit 214 to sufficient signal level to providethe clock signal to each function block.

The low voltage detector circuit 215 monitors the power voltage “Vcc” ofa system, and issues the reset signal 226 of the PLL circuit 214 and thereset signal 227 of entire system when the power voltage falls below acertain voltage. In addition, in the case where the inner memory 207comprises an SRAM and needs to maintain data by the power supply fromthe battery 217, the low voltage detector 215 has the functionality ofissueing a battery back-up control signal 224 when the power voltage“Vcc” falls below the certain voltage.

The external memory interface circuit 212 has the functionality ofconnecting the second bus 219 to the external bus 53 and issuing a buscycle completion signal 228 of the second bus 219 to control the lengthof the bus cycle of the second bus.

The DRAM refresh cycle control circuit 211 periodically andunconditionally gets the ownership of the first bus 218 to perform therefresh cycle of the DRAM at certain intervals. Needless to say, theDRAM refresh cycle control circuit 211 is provided in case where theinner memory 207 includes a DRAM.

Hereafter, with reference to FIG. 8 to FIG. 10, a configuration forinputting the pixel data from the image sensor 43 to the high speedprocessor 200 will be explained in detail.

FIG. 8 is a circuit diagram showing the configuration for inputting thepixel data from the image sensor 43 to the high speed processor 200 ofFIG. 6, and a LED driver circuit. FIG. 9 is a timing chart illustratingthe process for inputting the pixel data from the image sensor 43 to thehigh speed processor 200. FIG. 10 is an enlarged view of a portion ofthe timing chart shown in FIG. 9.

As shown in FIG. 8, pixel data D (X, Y) is input to the analog inputport of the high speed processor 200 since the image sensor 43 outputsthe pixel data D (X, Y) as an analog signal. The analog input port isconnected with the ADC 208 in this high speed processor 200. Therefore,the high speed processor 200 obtains the pixel data converted intodigital data.

The middle point of above-mentioned analog pixel data D (X, Y) isdetermined on the basis of reference voltage applied to a referencevoltage terminal “Vref” of the image sensor 43. Therefore, a referencevoltage generating circuit 59 comprising a voltage dividing circuit isprovided, and this circuit 59 constantly applies the reference voltageto the reference voltage terminal “Verf”.

Each digital signal to control the image sensor 43 is input to theInput/output ports of the high speed processor 200, and also output fromthe Input/output ports. Each input/output port is a digital portoperable to control input and output operation, and connected with theinput/output control circuit 209 of the high speed processor 200.

More specifically, a reset signal “reset” to reset the image sensor 43is output from the input/output port of the high speed processor 200,and transmitted to the image sensor 43. A pixel data strobe signal “PDS”and a frame status flag signal “FSF” are output from the image sensor 43to the input/output ports of the high speed processor 200.

As shown in FIG. 9, the pixel data strobe signal “PDS” is a strobesignal to read above-mentioned each pixel data D (X, Y) from the imagesensor 43. The frame status flag signal “FSF” indicates a state of theimage sensor 43, and as shown in FIG. 9, it determines an exposureperiod of the image sensor 43. In other words, a low-level period of theframe status flag signal “FSF” as illustrated in FIG. 9 shows theexposure period, and a high-level period shows an unexposure period.

In addition, the high speed processor 200 outputs a command (or acommand and data) as register data to be set to a control register (notshown) of the image sensor 43 via the input/output ports. Furthermore,the high speed processor 200 outputs a register setting clock “CLK”which repeats a low-level period and a high-level period alternately.The register data and the register setting clock “CLK” are sent to theimage sensor 43. As shown in FIG. 8, the four infrared-emitting diodes15 are connected in parallel. As hereinbefore referred, theseinfrared-emitting diodes 15 are arranged so as to encompass the imagesensor 43 and emit infrared-light to the direction same as a viewpointdirection of the image sensor 43 to irradiate the operation article 150with the infrared-light.

These infrared-emitting diodes 15 are turned on or turned off by the LEDdriver circuit 75. The LED driver circuit 75 receives theabove-mentioned frame status flag signal “FSF”, and then, the signal“FSF” is applied to a base terminal of a PNP transistor 77 via adifferentiation circuit 67 consisting of a resistor 69 and a capacitor71. In addition, the base terminal of the PNP transistor 77 is connectedwith a pull-up resistor 79, and is normally pulled up to high level.When the frame status flag signal “FSF” becomes low level, the low-levelsignal “FSF” is input to the base terminal via the differentiationcircuit 67. Therefore, the PNP transistor 77 is-turned on only when thelevel of the flag signal “FSF” is low.

An emitter terminal of the PNP transistor 77 is grounded via resistors73 and 65. The connecting point of the emitter resistances 73 and 65 isconnected with a base terminal of a NPN transistor 81. A collectorterminal of this NPN transistor 81 is connected to anodes of theinfrared-emitting diodes 15 in common. An emitter terminal of the NPNtransistor 81 is connected to a base terminal of a NPN transistor 61directly. Moreover, a collector terminal of the NPN transistor 61 isconnected to cathodes of the infrared-emitting diodes 15 in common. Anemitter terminal of the NPN transistor 61 is grounded.

This LED driver circuit 75 turns on the infrared-emitting diodes 15 onlywhen the LED control signal “LEDC” which is output from the input/outputport of the high speed processor 200 is active (high-level) and also thelevel of the frame status flag signal “FSF” from the image sensor 43 islow.

As shown in FIG. 9, the PNP transistor 77 is turned on while the levelof the frame status flag signal “FSF” is low (there is actually atime-lag caused by a time constant of the differentiation circuit 67).Therefore, when the LED control signal “LEDC” illustrated in FIG. 9 isset to a high level by the high speed processor 200, the electricpotential at the base terminal of the NPN transistor 81 becomes a highlevel. As a result, this transistor 81 is turned on. Then, when thetransistor 81 is turned on, the transistor 61 is also turned on.Therefore, a current passes through each infrared-emitting diodes 15 andthe transistor 61 from a power supply (described as a small circle inFIG. 8), and consequently the infrared-emitting diodes 15 flash asdescribed in FIG. 9.

The LED driver circuit 75 turns on the infrared-emitting diodes 15 onlywhile the LED control signal “LEDC” illustrated in FIG. 9 is active, andalso the level of the frame status flag signal “FSF” is low. This meansthat the infrared-emitting diodes 15 flash only during the exposureperiod of the image sensor 43 (see FIG. 9).

Therefore, it is possible to restrain unnecessary power consumption.Besides, if the flag signal “FSF” retains its low-level because ofoverrun of the image sensor 43, the transistor 77 will be turned offafter a predefined period and also the infrared-emitting diodes 15 willbe turned off after the predefined period because the frame status flagsignal “FSF” is coupled by the capacitor 71.

As described above, it is possible to set and change the exposure periodof the image sensor 43 arbitrarily and freely by controlling the flamestatus signal “FSF”.

In addition, it is possible to set and change a light emitting cycle (orthe flash period and the unflash period) of the infrared-emitting diodes15 (or the stroboscope) arbitrarily and freely by controlling the framestatus flag signal “FSF” and/or the LED control signal “LEDC”.

As already mentioned, when the operation article 150 is irradiated theinfrared-light from the infrared-emitting diodes 15, the image sensor 43is exposed to the return light from the operation article 150.Accordingly, in response to it, the above-mentioned pixel data D (X, Y)is output from the image sensor 43. More specifically, as shown FIG. 9,when the level of the frame status flag signal “FSF” is high (theunflash period of the infrared-emitting diodes 15), the image sensor 43outputs the analog pixel data D (X, Y) in synchronization with the pixeldata strobe “PDS”.

The high speed processor 200 obtains the digital pixel data from the ADC208 while monitoring the frame status flag signal “FSF” and the pixeldata strobe “PDS”.

As shown in FIG. 10, the pixel data D (X, Y) is output sequentially inorder of row, for example, the zeroth row, the first row, . . . and thethirty first row. As hereinafter referred, the first one pixel of eachrow is dummy data.

In what follows, contents of the game served by the game apparatus 1will be explained with reference to examples. FIG. 11 is a view showingan example of the game screen in the first stage displayed on the screen91 of the television monitor 90. As illustrated in FIG. 11, the gamescreen includes a background 120, a cursor 111, a following object 112,obstacle objects 104 to 160, a power gauge 131, and masks 101 and 102.The background 120 includes obstacle images 113 to 115. The power gauge131 includes a bar 103. Meanwhile, since the following object 112 is amermaid-shaped figure, it may be called merely “mermaid 112”. Theobstacle objects 104 to 106 and after-mentioned obstacle objects mightbe sometimes collectively referred to as the obstacle object(s) “P” .The obstacle images 113 to 115 and after mentioned obstacle images mightbe sometimes collectively referred to as the obstacle image(s) “Q”.

The power gauge 131 shows the power of the mermaid 112. At thebeginning, the bar 103 is the longest, which means the power is full.The bar 103 is getting shorter as time passes (getting less power), andwhen the bar 103 reaches “0” (running out of power), the game is over.The bar 103 is getting shorter from the longest to “0” at a constantspeed as a general rule. In other words, the mermaid 112 is losing itspower at the constant speed as the general rule.

The background 120 is scrolled to the left direction. Needless to say,the obstacle images 113 to 115 which are parts of the background 120 arealso scrolled to the left direction. On the other hand, each of theobstacle objects 104 to 105 is formed by a single or several sprite(s).The obstacle objects appear from the right side on the screen 91 (theside of the mask 102), and then move to the left side on the screen 91(the side of the mask 101) and vanish. The sprite(s) will be explainedlater.

The cursor 111 indicates a location of the operation article 150 on thescreen 91, and moves on the screen 91 in conjunction with movement ofthe operation article 150. Therefore, operating the operation article150 is same as operating the cursor 111 for the player 94. The mermaid112 follows the motion of the cursor 111 (indirectly the motion of theoperation article 150). The player 94 moves the mermaid 112 by theoperation article 150 trying to avoid the obstacle objects 104 to 106and the obstacle images 113 to 115 to reach goal before running out ofthe power (before the length of the bar 103 becomes “0”).

If the mermaid 112 clashes the obstacle objects 104 to 106 or theobstacle images 113 to 115, the bar 103 of the power gauge 131 becomesshorter for a predetermined length independently of the before-mentionedconstant speed, which means the power of the mermaid decreasesdrastically. It is possible to set not to decrease the power of mermaid112 drastically when the mermaid 112 encounters another clash afterpredetermined period from the clash with the obstacle objects 104 to 106or the obstacle images 113 to 115.

FIG. 12 is a view showing another example of the game screen in thefirst stage displayed on the screen 91 of the television monitor 90. Asillustrated in FIG. 12, this game screen contains a background 120, thecursor 111, the mermaid 112, obstacle objects 107 to 109, the powergauge 131, an item 110, and masks 101 and 102. The background 120includes obstacle images 116 and 117.

If the player 94 operates the mermaid 112 by the operation article 150to move to a predefined area including the item 110, the bar 103 of thepower gauge 131 becomes longer for a predetermined length. In otherwords, in this case, since the power of the mermaid 112 increases, it isadvantageous for the player 94. The obstacle objects 107 to 109 and theobstacle images 116 and 117 are respectively similar to the obstacleobjects 104 to 106 and the obstacle images 113 to 115.

FIG. 13 is a view showing an example of the game screen in the secondstage displayed on the screen 91 of the television monitor 90 of FIG. 1.As illustrated in FIG. 13, this game screen includes a background 120,the cursor 111, the mermaid 112, obstacle objects 121 to 125, the powergauge 131, and an item 126.

Each of the obstacle objects 121 to 125 and the item 126 are formed by asingle or several sprite(s). The objects and the item appear from thetop of the screen 91, and descend, and then vanish into the bottom ofthe screen 91. The background 120 is not scrolled in the second stage.

The player 94 operates the mermaid 112 by the operation article 150 toavoid the obstacle objects 121 to 125. When the mermaid 112 clashes withone of the obstacle objects 121 to 125, the bar 103 of the power gauge131 becomes shorter for a certain length. In other words, the power ofthe mermaid 112 decreases. The item 126 is similar to the item 110 shownin FIG. 12.

Generally, series of images are provided for animation. Series of imagesof the mermaid 112 are provided for animating the mermaid 112. Inaddition, series of images of the obstacle object are also provided foranimating the obstacle object “P”. In this specification, each image foranimating is called “segment”.

As mentioned above, the mermaid 112, the obstacle objects 104 to 109 and121 to 125, the items 110 and 126, and the power gauge 131 are formedrespectively by a single or several sprite(s). One sprite comprises aset of pixel of which shape is oblong. Incidentally, the sprite can bearranged at any arbitrary position on the screen 91. The mermaid 112,the obstacle objects 104 to 109 and 121 to 125, the item 110 and 126,and the power gauge 131 are sometimes collectively called an object(s)(or an object image(s)).

FIG. 14 is a view for explaining sprites constructing an objectdisplayed on the screen 91. For example, as illustrated in FIG. 14, themermaid 112 shown in FIG. 11 is composed of six sprites sp0 to sp5. Forexample, each sprite SP0 to SP5 consists of 16 (width)×16 (height)pixels. For example, when the mermaid 112 is arranged on the screen 91,a coordinate where the center of the upper left sprite sp0 is arrangedis designated. Coordinates where each center of sprites SP1 to SP5should be arranged are calculated on the basis of the designatedcoordinate and the size of each sprite SP0 to SP5.

Next, the scrolling of the background 120 will be explained. First, abackground screen will be explained.

FIG. 15 is a view for explaining the background screen displayed on thescreen 91 of the television monitor 90 of FIG. 1. For example, asillustrated in FIG. 15, the background screen 140 is formed by 32×32blocks “0” to “1023”. For example, each block “0” to “1023” is a squareelement consisting of 8×8 pixels. Array PA[0] to PA[1023] and arrayCA[0] to CA [1023] corresponding to the blocks “0” to “1023” areprovided. The blocks “0” to “1023” are sometimes collectively called“block(s)”, the array PA[0] to PA[1023] are sometimes collectivelycalled “array PA”, and the array CA[0] to CA (1023] are sometimescollectively called “array CA”.

Storage location information of pixel pattern data (or data designatinga pixel pattern) of each block is assigned to corresponding array PA.The pixel pattern data consists of color information of each pixelconstructing the block. Incidentally, color palette information (orinformation designating a color palette) and a depth value of each blockare assigned to corresponding array CA. The color palette consists of acertain number of color information items. The depth value indicates adepth position of a pixel, and if a plurality of pixels overlap eachother, only the pixel having the largest depth value is displayed.

FIG. 16B is a view for explaining the background screen 140 beforescrolled. FIG. 16B is a view for explaining the background screen 140after scrolled. As illustrated in FIG. 16A, since the size of the screen91 is 256 pixels (width )×224 pixels( height), the area of 256pixels×224 pixels of the background screen 140 is displayed on thescreen 91. It is assumed that the background screen 140 is scrolledleftwards so as to move the center of the background screen 140 for kpixels. As a result, since the width of the background screen 140 issame as the width of the screen 91 of the television monitor 91, asshown in FIG. 16B, a part (a shaded area) of the background screen 140which has moved outside of the screen 91 is displayed on the right sideof the screen 91. In other words, in case where the background screen140 is scrolled horizontally, it is considered conceptually that theplurality of same background screens 140 are lined up sideways.

For example, it is assumed that the part (the shaded area) of thebackground screen 140 which has moved outside of the screen 91 consistsof the blocks “64”, “96”, . . . , “896”, “928”. The image designated bythe array PA[64], PA[96], . . . , PA[896], PA[928] and CA[64], CA[96], .. . , CA[896], CA[928] corresponding to those blocks is displayed on theright side of the screen 91. Therefore, in order that the backgroundsuccessively appears by scrolling the background screen 140 to the left,data assigned to the arrays PA and CA corresponding to the blocks in thepart (shaded area) of the background screen 140 which has moved outsideof the screen 91 needs to be updated. As a result, the image indicatedby the updated arrays PA and CA is displayed on the right side of thescreen 91.

In order to display the background successively and smoothly, datastored in relevant arrays PA and CA needs to be updated before a partcorresponding to the relevant arrays PA and CA is displayed on the rightside of the screen 91. Since the data stored in the relevant arrays PAand CA needs to be updated when the part corresponding to the relevantarrays PA and CA is still being displayed on the left side of the screen91, display becomes discontinuous on the left side of the screen 91.However, as shown in FIG. 11 and FIG. 12, this shortcoming can beavoided by adding the mask 101 on the left side of the screen 91.Incidentally, in this embodiment, the background screen 140 is notscrolled to the right. However, the mask 102 is also provided on theright side for balance.

In this way, the background 120 is scrolled by scrolling the backgroundscreen 140.

FIG. 17 is a schematic representation of a program and data stored inROM 51 of FIG. 6. As illustrated in FIG. 17, the ROM 51 stores a gameprogram 300, image data 301, and sound data 304. The image data 302includes object image data (including the mermaid 112, the obstacleobjects 104 to 109 and 121 to 125, the items 110 and 126, and powergauge 131) and background image data 303. The sound data 304 includesmusical score data 305 and wave data (or sound source data) 306. Thehigh speed processor 200 executes the game program 300 stored in the ROM51 and uses the image data 301 and the sound data 304.

Next, main process which the high speed processor 200 executes will beexplained.

[Pixel Data Aggregation Acquiring Process]

The CPU 201 obtains the digital pixel data converted from the analogpixel data D (X, Y) output from the image sensor 43, and then assigns itto an array P[X][Y]. The CPU 201 assigns conclusively all digital pixeldata to array P[X][Y]. Horizontal direction of the image sensor 43 isdefined as X-axis, and vertical direction of the image sensor 43 isdefined as Y-axis.

[Differential Data Calculating Process]

The CPU 201 calculates a difference between pixel data P [X][Y] with andwithout light emitted from the infrared-emitting diodes 15, and thenassigns it to an array Dif[X][Y]. The CPU 201 assigns conclusively alldifferences to the array Dif[X][Y]. Next, effects from calculating thedifference will be explained with reference to drawings. In thisembodiment, the pixel data indicates luminance. Therefore, thedifference (or differential data) also indicates luminance.

FIG. 18A is a view showing an example of an image which is imaged by ageneral image sensor and is not applied any special process. FIG. 18B isa view showing an example of an image when the image of FIG. 18A islevel-discriminated with a predetermined threshold value. FIG. 18C is aview showing an example of an image when an image which is obtainedthrough the infrared filter 17 while the infrared-emitting diodes 15emit infrared light is level-discriminated with a predeterminedthreshold. FIG. 18D is a view showing an example of an image when animage which is obtained through the infrared filter 17 while theinfrared-emitting diodes 15 do not emit the infrared light islevel-discriminated with the predetermined threshold. FIG. 18E is a viewshowing an example of an image based on a difference between the imagewith light emitted (shown in FIG. 18C) and the image without lightemitted (shown in FIG. 18D) from the infrared-emitting diodes 15.

The image shown in FIG. 18A should be displayed in gray scale, but it isomitted to do so for convenience.

In the FIG. 18A to FIG. 18E, the reflecting sheets 155 of the operationarticle 150 are imaged by the image sensor 43. As illustrated in FIG.18A, when the general image sensor (corresponding to the image sensor 43of FIG. 5) captures the operation article 150 by means of a stroboscopeunder a general light source in a general condition room, the generalimage sensor captures not only the operation article 150 but also allother things in the room and light sources such as a fluorescent lamp,an incandescent lamp (not shown), and sunlight (a window). Asillustrated in FIG. 18B, it is possible to cut out an image(s) havinglower luminance than predetermined luminance by level-discrimination.However, the image shown in FIG. 18B still includes high luminanceimages such as the light sources.

As shown in FIG. 5, by using the infrared filter 17, only theinfrared-light falls on the image sensor 43. As a result, as shown inFIG. 18C, it is possible to cut out the fluorescent lamp which haslittle infrared-light. However, the image shown in FIG. 18C stillincludes the sunlight (the window) and the incandescent lamp (notshown). Because of this, the CPU 201 calculates the difference betweenthe image (shown in FIG. 18C) with light emitted and the image (shown inFIG. 18D) without light emitted from the infrared-emitting diodes 15. Asa result of the calculation, the image as shown in FIG. 18E is acquired.Comparing to the image of FIG. 18A, it is obvious that the image shownin FIG. 18E based on the differential data calculating process includesonly the image of the operation article 150.

Because of above-mentioned reasons, the CPU 201 acquires thedifferential data between the pixel data with and without light emittedfrom the infrared-emitting diodes 15.

[Target Point Extracting Process]

The CPU 201 calculates a coordinate of a target point of the operationarticle 150 on the basis of the differential data Dif[X][Y]. This willbe explained in detail.

FIG. 19 is a view for explaining coordinate calculation of the targetpoint of the operation article 150. The image sensor 43 of FIG. 19consists of 32 pixels×32 pixels.

As illustrated in FIG. 19, the CPU 201 scans the differential data for32 pixels in the direction of X-axis (horizontal direction), and thenthe CPU 201 increments the Y-coordinate. In this way, the CPU 201 scansthe differential data for 32×32 pixels while updating the Y-coordinate.

In this case, the CPU 201 searches the differential data having themaximum luminance value, and then compares the maximum luminance valueto a predefined threshold value “Th”. If the maximum luminance value islarger than the predefined threshold value “Th”, the CPU 201 calculatesthe coordinate of the target point of the operation article 150 on thebasis of the pixel having the maximum luminance value. This will beexplained in detail.

FIG. 20A is a view for explaining scanning process in X-axial directionwhen the CPU 201 calculates the coordinate of the target point of theoperation article 150 on the basis of the pixel having the maximumluminance value. FIG. 20B is a view for explaining the beginning of thescanning process in Y-axial direction when the CPU 201 calculates thecoordinate of the target point of the operation article 150 on the basisof the pixel having the maximum luminance value. FIG. 20C is a view forexplaining the scanning process in Y-axial direction when the CPU 201calculates the coordinate of the target point of the operation article150 on the basis of the pixel having the maximum luminance value. FIG.20D is a view for explaining the result when the CPU 201 calculates thecoordinate of the target point of the operation article 150 on the basisof the pixel having the maximum luminance value.

As illustrated in FIG. 20A, the CPU 201 detects a pixel having aluminance value which is larger than the predetermined threshold value“Th” by scanning the differential data in X-axial direction on the basisof the pixel having the maximum luminance value. In this example of FIG.20A, the pixels from X=11 to X=15 exceed the threshold value “Th”.

Next, as illustrated in FIG. 20B, the CPU 201 derives a center pixel ofthe pixels from X=11 to 15. The X-coordinate of the center pixel isXc=13.

Next, as illustrated in FIG. 20C, the CPU 201 detects a pixel having aluminance value which is larger than the predetermined threshold value“Th” by scanning the differential data in Y-axial direction on the basisof the X-coordinate(=13) derived in FIG. 20B. In this example of FIG.20C, the pixels from Y=5 to Y=10 exceed the threshold value “Th”.

Next, as illustrated in FIG. 20D, the CPU 201 derives a center pixel ofthe pixels from Y=5 to Y=10. The Y-coordinate of the center pixel isYc=7.

The CPU 201 assigns the coordinate Xc(=13) of the target point to PX[M],and the coordinate Yc(=7) to PY[M]. Then, the CPU 201 calculates amoving average (AX, AY) of the target point (Xc, Yc). In addition, theCPU 201 converts the moving average (AX, AY) of the target point on theimage sensor 43 into a coordinate (xc, yc) on the screen 91. Then, theCPU 201 assigns the coordinate xc to an array Ax[M], and the coordinateyc to an array Ay[M]. The CPU 201 executes the aforesaid process toacquire the coordinate (Ax[M], Ay[M]) of the target point every time avideo frame is updated. For example, an origin of coordinates on thescreen 91 is a center of the screen 91.

The CPU 201, for example, calculates the moving average for (n+1) videoframes using following formulas. “n” is a natural number (for example,“3”).AX=(PX[M]+PX[M−1]+ . . . +PX[M−n])/(n+1)   (1)AY=(PY[M]+PY[M−1]+ . . . +PY[M−n])/(n+1)   (2)

Incidentally, the “M” is an integral number, and it is incremented everytime the video frame is updated.

[Background Control Process]

At the first stage of the game (refer to FIG. 11 and FIG. 12), the CPU201 changes the center location of the background screen 140 atpredetermined speed (refer to FIG. 16A and FIG. 16B), and registers acoordinate of the center location after changed. In this case, the CPU201 updates data stored in the relevant array PA and the array CA. Inthis way, the CPU 201 performs the scroll control of the background 120.Incidentally, at the second stage of the game (refer to FIG. 13), theCPU 201 changes a part of or whole background 120 by updating datastored in the array PA and the array CA in accordance with the gameprogram 300.

[Automatic Object Control Process]

The CPU 201 calculates and registers coordinates of the obstacle objects“P” and the items 110 and 126. For example, the CPU 201 performscoordinate calculation so that the obstacle objects “P” and the items110 and 126 move at predetermined speed, and then registers the result(stores in the inner memory 207). In addition, the CPU 201 registersstorage location information of an animation table for the obstacleobjects “P” and the items 110 and 126 to be displayed. This animationtable is similar to an after-mentioned animation table for the mermaid112.

[Cursor Control Process]

The CPU 201 registers the coordinate (Ax[M], Ay[M]) of the target pointof the operation article 150 as a coordinate of the cursor 111 to bedisplayed in the next video frame (stores in the inner memory 207).Moreover, the CPU 201 registers storage location information of ananimation table for the cursor 111. This animation table is similar tothe after-mentioned animation table for the mermaid 112.

[Following Object Control Process]

The CPU 201 makes the mermaid 112 follow the cursor 111. In this case,the CPU 201 makes the mermaid 112 move at the first acceleratedvelocity. The first accelerated velocity is set to a larger value if adistance between the cursor 111 and the mermaid 112 is long, and if thedistance is short, the first accelerated velocity is set to a smallervalue. Incidentally, a direction of the first accelerated velocity ispositive direction. The positive direction indicates a direction ofmovement of the mermaid 112. In addition, the CPU 201 makes the mermaid112 move at the second accelerated velocity. The second acceleratedvelocity is set a larger value if a velocity of the mermaid 112 islarge, and if the velocity of the mermaid 112 is small, the acceleratedvelocity is set a smaller value. Incidentally, a direction of the secondaccelerated velocity is negative direction. The negative directionindicates an opposite direction of movement of the mermaid 112. In thisway, it is possible to display the mermaid 112 as if the mermaid 112were moving in the water. This point will be explained in detail withreference to examples.

FIG. 21 is a view for explaining the following object control processperformed by the CPU 201. For example, the CPU 201 calculates a currentcoordinate (xm[M], ym[M])of the mermaid 112 using following formulas.xm[M]=xm[M−1]+Vxm[M−1]×(1−k)+Bx[M]  (3)ym[M]=ym[M−1]+Vym[M−1]×(1−k)+By[M]  (4)Vxm[M−1]=xm[M−1]−xm[M−2]  (5)Vym[M−1]=ym[M−1]−ym[M−2]  (6)Bx[M]=Lx[M]×B0   (7)By[M]=Ly[M]×B0   (8)Lx[M]=Ax[M]−xm[M−1]  (9)Ly[M]=Ay[M]−ym[M−1]  (10)

As illustrated in FIG. 21, the formula (3) to formula (10) use theprevious coordinate (xm[M−1], ym[M−1]) of the mermaid 112, the previousvelocity vector (Vxm[M−1], Vym(M−1]) of the mermaid 112, the currentacceleration vector (Bx[M], By[M]) of the mermaid 112, the coordinate(xm[M−2], ym[M−2]) which is the coordinate before the previouscoordinate of the mermaid 112, the constant number k (k<1) indicating aresistance of water, and the constant number B0 for adjusting theaccelerated velocity of the mermaid 112. When the resistance of water isneeded to be high, it is possible to set a large value to the constantnumber k, and when the resistance of water is needed to be low, it ispossible to set a small value to the constant number k. In addition, theacceleration value (Bx[M], By[M]) of the mermaid 112 is proportional tothe distance (Lx[M], Ly[M]) between a current location of the cursor 111and a previous location of the mermaid 112. It is possible to set anarbitrary value to the constant number k and the constant number 50. Forexample, it is possible to determine from one's own experiences.

Moreover, the CPU 201 calculates a current velocity vector (Vxm[M],Vym[M]) of the mermaid 112 using following formulas.Vxm[M]=xm[M]−xm[M−1]  (11)Vym[M]=ym[M]−ym[M−1]  (12)

Furthermore, the CPU 201 calculates an x-direction movement distance“mx” and a y-direction movement distance “my” of the mermaid 112. Thex-direction movement distance “mx” is an absolute value of the xcomponent Vxm[M] , and the y-direction movement distance “my” is anabsolute value of an y component Vym[M].

The CPU 201 controls not only a location of the mermaid 112 inabove-mentioned way, but also controls animation of the mermaid 112.This will be explained in detail.

The CPU 201 determines which is larger between the x-direction movementdistance “mx” of the mermaid 112 and a predetermined value “xr”.Additionally, the CPU 201 determines which is larger between they-direction movement distance “my” of the mermaid 112 and apredetermined value “yr”. As a result, when CPU 201 determines that thex-direction movement distance “mx” is larger than the predeterminedvalue “xr” and also the y-direction movement distance “my” is smallerthan the predetermined value “yt”, the CPU 201 sets an angle flag to acorresponding value so as to move the mermaid 112 horizontally.

Contrary, when the CPU 201 determines that the x-direction movementdistance “mx” is smaller than the predetermined value “xr” and also they-direction movement distance “my” is larger than the predeterminedvalue “yr”, the CPU 201 sets the angle flag to a corresponding value soas to move the mermaid 112 vertically. Moreover, when the CPU 201determines that the x-direction movement distance “mx” is larger thanthe predetermined value “xr” and the y-direction movement distance “my”is also larger than the predetermined value “yr”, the CPU 201 sets theangle flag to a corresponding value so as to move the mermaid 112obliquely.

Additionally, the CPU 201 refers to the sign of the velocity vector(Vxm(M), Vym[M]) of the mermaid 112, and sets corresponding values to anx-direction flag and a y-direction flag. The x-direction flag and they-direction flag might be sometimes collectively referred to as adirection flag(s).

Then, the CPU 201 determines movement direction information of themermaid 112 in accordance with values of the angle flag, the x-directionflag and the y-direction flag. The movement direction information of themermaid 112 indicates a direction of a movement of the mermaid 112. TheCPU 201 determines a direction of the mermaid 112 with reference to themovement direction information. This will be explained in detail.

FIG. 22A is a view showing a relation between a value of the angle flagand the angle. FIG. 22B is a view showing a relation between a value ofthe direction flag and a sign indicating the direction. FIG. 22C is aview showing a relation among the angle flag, the direction flag and themovement direction information. As mentioned above, the CPU 201 judgesthe magnitude among the movement distances “mx” and “my” and thepredetermined values “xr” and “yr”. Then, as shown in FIG. 22A, the CPU201 sets the angle flag.

In addition, the CPU 201 refers to the sign of the velocity vector(Vxm[M], Vym[M]) of the mermaid 112. Then, as shown in FIG. 22B, the CPU201 sets the x-direction flag and y-direction flag.

Moreover, as illustrated in FIG. 22C, the CPU 201 determines themovement direction information of the mermaid 112 in accordance withvalues of the angle flag, the x-direction flag, and the y-directionflag.

FIG. 23 is a view showing a relation between the movement directioninformation of FIG. 22C and a movement direction of the mermaid 112. Asillustrated in FIG. 22 and FIG. 23, the movement direction informationA0 indicates to move the mermaid 112 horizontally in positive direction(rightward) of x-axis. The movement direction information A1 indicatesto move the mermaid 112 horizontally in negative direction (leftward) ofx-axis. The movement direction information A2 indicates to move themermaid 112 vertically in positive direction (upward) of y-axis. Themovement direction information A3 indicates to move the mermaid 112vertically in negative direction (downward) of y-axis. The movementdirection information A4 indicates to move the mermaid 112 obliquely toupper right. The movement direction information A5 indicates to move themermaid 112 obliquely to lower right. The movement direction informationA6 indicates to move the mermaid 112 obliquely to upper left. Themovement direction information A7 indicates to move the mermaid 112obliquely to lower left.

The CPU 201 registers storage location information of the animationtable associated with thus acquired movement direction information A0 toA7 (mermaid animation registration). The animation table includesvarious information to animate the mermaid 112.

FIG. 24 is a view showing a relation between the movement directioninformation A0 to A7 and the storage location information of theanimation table. As illustrated in FIG. 24, for example, the movementdirection information A0 is associated with the storage locationinformation “address0” of the animation table. The storage locationinformation of the animation table is start address information of anarea storing the animation table.

FIG. 25 is a view showing an example of the animation table designatedby the storage location information of FIG. 24 for animating the mermaid112. As illustrated in FIG. 25, the animation table is a table whereinstorage location information of animation image data, segment number,duration information, next segment information, object sizeinformation(or segment size information) color palette information,depth value, and sprite size information are associated with each other.

Animation consists of a plurality of segment which are arranged in timeseries. Therefore, the animation image data consists of segment imagedata set. Each segment image data consists of object data whichexpresses the mermaid 112. Each object data expresses different types ofmermaid 112.

In addition, the object data is pixel pattern data. The pixel patterndata and the depth value are related to the sprites constructing theobject (or the mermaid 112). Meanwhile, they are similar to the ones ofthe block of FIG. 15. The segment number is a number assigned to eachsegment. The duration information indicates how many frames the samesegment (or the same object) should be successively displayed. The nextsegment information designates the number of the segment (or the object)which should be displayed next after the current object is displayedaccording to the duration information. For example, the next segmentinformation “next” indicates that the segment of the number “2” must bedisplayed after displaying the segment of the number “1” during oneframe (the duration information). In addition, for example, the nextsegment information “top” indicates that the segment of the initialnumber “1” must be displayed after displaying the segment of the number“15” during one frame (the duration information).

The animation table of FIG. 25 is used for animating the mermaid 112.Therefore, for example, since the movement direction information A0 ofFIG. 24 indicates to move the mermaid 112 horizontally in positivedirection, the storage location information “ad0” which is contained inthe animation table indicated by the storage location information“address0” corresponding to the movement direction information A0designates the storage location of the animation image data expressingthe mermaid 112 which is heading horizontally in positive direction.

In this way, the CPU 201 registers the storage location information“address0” to “address7” of the animation table corresponding to themovement direction information A0 to A7 of the mermaid 112. In addition,the movement direction information A0 to A7 are based on the coordinate(Ax[M], Ay[M]) of the target point of the operation article 150 (referto the formulas (9) and (10)). As a result, an animation of the mermaid112 which is heading movement direction of the operation article 150(the cursor 111) is performed.

In addition, the CPU 201 judges whether or not the mermaid 112 clashesthe obstacle objects “P” or the obstacle images “Q”. When the mermaid112 clashes either of them, the CPU 201 restricts the motion of themermaid 112, and turns a clash flag on. This will be explained indetail.

FIG. 26 is a view for explaining the clash judging process performed bythe CPU 201. As illustrated in FIG. 26, the mermaid 112, the obstacleobject “P”, and the obstacle image “Q” are simplified by using a singlerectangle or several rectangles. Then, the CPU 201 judges whether or notthe mermaid 112 clashes any of all obstacle objects “P” and obstacleimages “Q” displayed on the screen. The rectangle constructing themermaid 112 is called “mermaid rectangle” and the rectangle constructingthe obstacle object “P” or the obstacle image “Q” is called “obstaclerectangle” The clash judgment will be described in detail.

The CPU 201 determines whether or not the mermaid rectangle and theobstacle rectangle overlap each other using each vertex coordinate ofthe mermaid rectangle and each vertex coordinate of each obstaclerectangle. When the mermaid rectangle overlaps any of the obstaclerectangles, the CPU 201 determines that the mermaid 112 clashes theobstacle object “P” having the overlapping obstacle rectangle, or theobstacle image “Q” having the overlapping obstacle rectangle, and turnsthe clash flag on.

FIG. 27 is a view for explaining overlapping patterns judged by thefollowing object control process performed by the CPU 201. Asillustrated in FIG. 27, there are 14 overlapping patterns of the mermaidrectangle “rcm” and the obstacle rectangle “rco”. In the clash judgingprocess, when a relation between the mermaid rectangle “rcm” and theobstacle rectangle “rco” corresponds to one of the overlapping patterns,the CPU 201 determines that the mermaid 112 clashes the obstacle object“P” or the obstacle image The mermaid 112 and all obstacle objects “P”and all obstacle images “Q” being displayed are applied this process.

[Power Gauge Control Process]

The CPU 201 controls the power gauge 131. This will be explained withreference to drawings.

FIG. 28A is a view showing an example of a frame part of the power gauge131 shown in FIG. 11 to FIG. 13. FIG. 28B is a view showing an exampleof elements constructing the bar 103 of the power gauge 131. Asillustrated in FIG. 28A, a size of the frame part is 8 pixels×56 pixels.Also, the frame part consists of 7 sprites each of which consists of 8×8pixels. As illustrated in FIG. 28B, sprites P0 to P7 each of whichconsists of 8×8 pixels are provided in order to display the bar 103. InFIG. 28B, for example, the shaded area is red, and the other area iswhite. The CPU 201 selects a single sprite or several sprites out ofsprites P0 to P7 in order to shorten the bar 103 at predetermined speedand display the selected sprite(s) within the frame part of the powergauge 131.

For example, the CPU 201 displays 7 sprites P7 within the frame part tomake the bar 103 longest at the beginning of the game. Then, after apredetermined period “t” from the start of the game, the CPU 201displays the sprite P6 instead of the rightmost sprite P7. Furthermore,after further predetermined period “t”, the CPU 201 displays the spriteP5 instead of the right most sprite P6. In this way, the CPU 201 makesthe red bar 103 shorten as the predetermined period “t” passes. In otherwords, the bar 103 becomes shorter by 1 pixel for every predeterminedperiod “t”.

In addition, when the clash flag is on, i.e. the mermaid 112 clashes theobstacle object “P” or the obstacle image “Q”, the CPU 201 selectssprites from the sprites P0 to P7 so as to make the red bar 103 shorterfor a predetermined length (for example, 4 pixels). For example, whenthe clash flag is on while the sprites from the first to the sixth areall sprites P7 and the seventh sprite (or the rightmost sprite) issprite P0 in the power gauge 131, the CPU 201 takes off the seventhsprite P0 and replaces the sixth sprite P7 by the sprite P4. In thisway, the bar 103 becomes 4 pixels shorter.

[Image Display Process]

The CPU 201 sends necessary information for display to the graphicprocessor 202 during a vertical blanking period on the basis ofinformation registered by the background control processing, theautomatic object control processing, the cursor control processing, thefollowing object control processing, and the power gauge controlprocessing. Then, the graphic processor 202 generates the video signalin accordance with the information sent from the CPU 201, and outputsthe video signal to the video signal output terminal 47. In this way,the game screen including the mermaid 112 and so on is displayed on thescreen 91 of the television monitor 90. This will be explained indetail.

The CPU 201 calculates a display coordinate of each sprite constructingthe obstacle object “P” in accordance with the coordinate informationregistered by the automatic object control process and the animationtable for the obstacle object “P”. Then, the CPU 201 sends informationof each sprite constructing the obstacle object “P” including thedisplay coordinate information, the color palette information, the depthvalue, the size information, and the storage location information of thepixel pattern data to the graphic processor 202 with reference to theanimation table for the obstacle object “P”.

In addition, the CPU 201 calculates a display coordinate of each spriteconstructing the cursor 111 in accordance with the animation table forthe cursor 111 and the coordinate information (the coordinateinformation of the target point of the operation article 150) registeredby the cursor control process. Then, the CPU 201 sends information ofeach sprite constructing the cursor 111 including the display coordinateinformation, the color palette information, the depth value, the sizeinformation, and the storage location information of the pixel patterndata to the graphic processor 202 with reference to the animation tablefor the cursor 111.

Moreover, the CPU 201 refers to the animation table in accordance withthe storage location information thereof registered by the followingobject control process, and obtains size information of the mermaid 112(or the object) and size information of each sprite constructing themermaid 112. Then, the CPU 201 calculates a display coordinate of eachsprite constructing the mermaid 112 on the basis of the obtainedinformation and the coordinate (xm[M], ym[M]) registered by thefollowing object control process. In addition, the CPU 201 calculatesstorage location information of pixel pattern data of each spriteconstructing the mermaid 112 on the basis of the number of the segmentincluding the mermaid 112 to be displayed, the size information of themermaid 112, the size information of the sprite constructing the mermaid112, and the storage location information of the animation image data.

Furthermore, the CPU 201 sends information of each sprite constructingthe mermaid 112 including the color palette information, the depthvalue, and the size information to the graphic processor 202 withreference to the animation table, together with the storage locationinformation of pixel pattern data of each sprite and the displaycoordinate information. In this case, the CPU 201 sends theabove-mentioned information to the graphic processor 202 in accordancewith the duration information and the next segment information of theanimation table.

The CPU 201 sends information of each sprite constructing the frame partof the power gauge 131 including the color palette information, thedepth value, the size information, the storage location information ofpixel pattern data, and the display coordinate information to thegraphic processor 202. Furthermore, the CPU 201 sends information ofeach sprite constructing the bar 103 registered by the power gaugecontrol process including the color palette information, the depthvalue, the size information, the storage location information of pixelpattern data, and the display coordinate information to the graphicprocessor 202.

Moreover, the CPU 201 sends the coordinate of the center of thebackground screen 140 registered by the background control process andstart addresses of the array PA[0] to PA[1023] and the array CA[0] toCA[1023] set by the background control process to the graphic processor202. The graphic processor 202 reads information stored in the arrayPA[0] to PA[1023] according to the sent start address, and thenaccording to the read information, the graphic processor 202 readsstorage location information of pixel pattern data for displaying eachof the block[0] to block[1023]. In addition, the graphic processor 202reads information stored in the array CA[0] to CA[1023] according to thesent start address. The graphic processor 202 generates the video signalto display the obstacle objects “P”, the cursor 111, the mermaid 112,the power gauge 131, and the background 120 on the basis of theinformation sent from the CPU 201 and the read information, and outputsit to the video signal output terminal 47.

[Audio Playback]

The audio playback is performed by interrupt processing. The CPU 201reads and interprets commands from the musical score data 305 whileincrementing a musical data pointer. The musical data pointer indicatesa location to start reading information contained in the musical scoredata 305.

Then, when the command included in the read musical score data 305 isnote on, the CPU 201 sends a start address storing the wave data 306corresponding to a pitch (the frequency of sound vibration) designatedby a note number and an musical instrument (tone quality) designated byinstrument designation information contained in the musical score data305 to the sound processor 203. In addition, when the command includedin the read musical score data 305 is note on, the CPU 201 sends a startaddress storing necessary envelope data to the sound processor 203.Furthermore, when the command included in the read musical score data305 is note on, the CPU 201 sends pitch control informationcorresponding to the pitch designated by the note number and volumeinformation contained in the musical score data 305 to the soundprocessor 306.

In what follows, the pitch control information will be explained. Thepitch control information is used for pitch controlling performed bychanging a cycle of reading the wave data 306 (the sound source data).More specifically, the sound processor 203 periodically reads the pitchcontrol information at certain interval, and accumulates theinformation. The sound processor 203 processes the result of theaccumulation, and makes use of the result of the processing as anaddress pointer for the wave data 306. Accordingly, if a large value isset to the pitch control information, the address pointer is quicklyincremented to increase the frequency of the wave data 306. Conversely,if a small value is set to the pitch control information, the addresspointer is slowly incremented to decrease the frequency of the wave data306. In this way, the sound processor 203 performs the pitch control ofwave data 306.

The sound processor 203 reads from the ROM 51 the wave data 306, whichis stored in tho area pointed by the provided start address whileincrementing the address pointer on the basis of the pitch controlinformation. Then, the sound processor 203 generates an audio signal bymultiplying the wave data 306, as sequentially read, by the envelopedata and the volume information item. In this way, the audio signalindicative of the tone quality of the musical instrument, the pitch andthe sound volume designated by the musical score data 305 is producedand output to the audio signal output terminal 49 by the sound processor203.

On the other hand, the CPU 201 manages a gate time contained in themusical score data 305 as read. Accordingly, when a gate time elapses,the CPU 201 instructs the sound processor 203 to stop outputting thesound corresponding to the gate time. In response to this, the soundprocessor 203 terminates the sound output as instructed.

As has been discussed above, music is produced on the basis of themusical score data 305, and output from the speaker (not shown) of thetelevision monitor 90.

Next, an example of the process flow of the game machine 1 will beexplained with reference to several flow charts.

FIG. 29 is a flowchart showing the overall process flow of the gameapparatus 1. As illustrated in FIG. 29, the CPU 201 performs the initialsetup of the system in step S1.

In step S2, the CPU 201 checks the remaining power of the mermaid 112.When the power is “0” (the length of the bar 103 within the power gauge131 is “0”), the CPU 201 displays a predetermined failure screen andthen ends the game, otherwise proceeds to step S3. In step S3, the CPU201 determines whether or not the mermaid 112 reaches a goal. When themermaid 112 reaches the goal, the CPU 201 displays a predeterminedsuccess screen and ends the game, otherwise proceeds to step S4.

In step S4, the CPU 201 calculates state information of the operationarticle 150.

The state information could be, for example, any one of speedinformation, movement direction information, movement distanceinformation, velocity vector information, acceleration information,motion path information, area information and positional information, ora combination thereof. In step S5, the CPU 201 performs display controlof the background 120. In step S6, the CPU 201 performs display controlof the obstacle object “P”. In step S7, the CPU 201 performs displaycontrol of the cursor 111 on the basis of the state information of theoperation article 150.

In step S8, the CPU 201 performs display control of the mermaid 112 onthe basis of coordinate information of the cursor 111 (refer to theformula (3) to formula (12)). In step S9, the CPU 201 performs displaycontrol of the power gauge 131.

In step S10, the CPU 201 determines whether or not “M” is smaller than apredetermined value “K”. If “M” is equal to or more than thepredetermined value “K”, the CPU 201 proceeds to step S11, and assigns“O” to “M”, and then proceeds to step S12. On the other hand, if thevariable “M” is smaller than the predetermined value “K”, the CPU 201proceeds from step S10 to step S12. The above mentioned variable “M”will be explained later.

In step S12, the CPU 201 determines whether or not the CPU 201 waits forthe video system synchronous interrupt. The CPU 201 supplies thegraphics processor 202 with the image information for refreshing thedisplay screen of the television monitor 90 after the vertical blankingperiod starts. Accordingly, after completing the arithmetic operationsfor refreshing the display screen, the CPU 201 refrains from proceedingits operation until the next video system synchronous interrupt isissued. Namely, while it is “YES” in step S12, i.e., while the CPU 201waits for the video system synchronous interrupt (i.e., there is nointerrupt signal responsive to the video system synchronous signal), theprocess repeats the same step S12. On the other hand, if it is “NO” instep S12, i.e., if the CPU 201 gets out of the state of waiting for thevideo system synchronous interrupt (i.e., the CPU 201 is given the videosystem synchronous interrupt), the process proceeds to step S13.

In step S13, the CPU 201 sends necessary image information to generate agame screen (refer to FIG. 11 to FIG. 13) to the graphics processor 202on the basis of the results of step S5 to S9 (the image displayingprocess).

FIG. 30 is a flowchart showing the process flow of the initial settingprocess of step S1 of FIG. 29. As illustrated in FIG. 30, the CPU 201initializes the image sensor 43. In step S21, the CPU 201 initializesvarious flags and counters. In step S22, the CPU 201 sets the timercircuit 210 as a source of generating an interrupt request signal forgenerating sound. By this interrupting process, the sound processor 203performs processing, and sound is output from the speakers of thetelevision monitor 90.

FIG. 31 is a flowchart showing the process flow of the sensorinitialization of step S20 of FIG. 30. As illustrated in FIG. 31, instep S30, the high speed processor 200 sets a command “CONF” as asetting data. This command “CONF” is a command which instructs the imagesensor 43 to enter setting mode to send a command from the high speedprocessor 200. In step S31, the high speed processor 200 performs thecommand transmitting process.

FIG. 32 is a flowchart showing the process flow of the commandtransmitting process of step S31 of FIG. 31. As illustrated in FIG. 32,in step S40, the high speed processor 200 sets setting data (in case ofstep S31, the command “CONF”) as register data (I/O port). In step S41,the high speed processor 200 sets register setting clock CLK (I/O port)to low level. After waiting for a predetermined period “t1” in step S42,in the next step S43, the high speed processor 200 sets the registersetting clock CLK to high level. Then, after waiting for a predeterminedperiod “t2” in step S44, in the next step S45, the high speed processor200 sets the register setting clock CLK to low level.

In this way, as illustrated in FIG. 33A and FIG. 33B, the high speedprocessor 200 performs the command (command or command+data)transmitting process by periodically changing the register setting clockCLK into low level, high level, and low level while waiting for thepredetermined periods “t1” and “t2”.

Returning to FIG. 31, in step S32, the high speed processor 200 sets apixel mode and also sets an exposure period. In this embodiment, sincethe image sensor 43 is the CMOS image sensor which consists of 32pixels×32 pixels as mentioned above, the high speed processor 200 sets“0h” which indicates it consists of 32 pixels×32 pixels, to a pixel moderegister whose setting address is “O”. In step S33, the high speedprocessor 200 performs a register setting process.

FIG. 34 is a flowchart showing the process flow of the register settingprocess of step S33 of FIG. 31. As illustrated in FIG. 34, in the firststep S50, the high speed processor 200 sets a command “MOV”+“address” asa setting data. Then, in step S51, the high speed processor 200transmits the command to the image sensor 43 by executing the commandtransmitting process as explained hereinbefore (refer to FIG. 32). Instep S52, the high speed processor 200 sets a command “LD”+“data” as asetting data. Then, in step S53, the high speed processor 200 transmitsthe command to the image sensor 43 by executing the command transmittingprocess as explained hereinbefore (refer to FIG. 32). Then, in step S54,the high speed processor 200 sets a command “SET” as a setting data.Then, in step S55, the high speed processor 200 transmits the command tothe image sensor 43 by executing the command transmitting process asexplained hereinbefore (refer to FIG. 32). The command “MOV” indicatesto transmit an address of the control register. The command “LD”indicates to transmit data. The command “SET” indicates to set data tothe address. Incidentally, if there are several control registers toset, the register setting process is repeatedly executed.

Returning to FIG. 31, in step S34, the high speed processor 200 sets “1”(indicating an address of low nibble of an exposure period settingregister) as a setting address, and also sets low nibble data “Fh” of“FFh” indicating the maximum exposure period. Then, in step S35, thehigh speed processor 200 executes the register setting process of FIG.34. In a similar way, in step S36, the high speed processor 200 sets “2”(indicating an address of high nibble of the exposure period settingregister) as a setting address, and also sets high nibble data “Fh” of“FFh” indicating the maximum exposure period. Then, in step S37, the CPU201 executes the register setting process of FIG. 34.

In step S38, the high speed processor 200 sets a command “RUN” whichindicates an end of setting and also makes the image sensor 43 startoutputting data. Then, in step S39, the high speed processor 200transmits it. In this way, the sensor setting process of step S20 ofFIG. 30 is performed. However, the example from FIG. 31 to FIG. 34 maybe changed depending on the specification of the image sensor 43.

FIG. 35 is a flowchart showing the process flow of the state informationcalculating process of step S4 of FIG. 29. As illustrated in FIG. 35, instep S60, the CPU 201 obtains the digital pixel data from ADC 208. Thisdigital pixel data is obtained by converting the analog pixel data asoutput from the image sensor 43.

In step S61, the target point extracting process is executed. Morespecifically, the CPU 201 obtains the differential data between thepixel data with and without light emitted from the infrared-emittingdiodes 15. Then, the CPU 201 retrieves the maximum value of thedifferential data and compares it with the predetermined threshold “Th”.In addition, when the maximum value of the differential data exceeds thepredetermined threshold value “Th”, the CPU 201 calculates a coordinateof the pixel which has the maximum value of the differential data.Furthermore, the CPU 201 calculates the moving average of thuscalculated coordinates. Then, the CPU 201 converts it to the coordinateon the screen 91 of the television monitor 90, and makes use of it asthe coordinate (Ax[M], Ay[M]) of the target point of the operationarticle 150.

FIG. 36 is a flowchart showing the process flow of the pixel dataaggregation acquiring process of step S60 of FIG. 35. As illustrated inFIG. 36, in the first step S70, the CPU 201 sets “−1” to “X” and “0” to“Y” as an element number of a pixel data array. In this embodiment, thepixel data array is a two-dimensional array such as X=0 to 31 and Y=0 to31. However, since dummy data is output as first pixel data of each rowas explained before, “−1” is set as an initial value of “X”. In thefollowing step S71, the CPU 201 executes a pixel data acquiring process.

FIG. 37 is a flowchart showing the process flow of the pixel dataacquiring process of step S71 of FIG. 36. As illustrated in FIG. 37, inthe first step S80, the CPU 201 checks the frame status flag signal FSFas transmitted from the image sensor 43. Then, when CPU 201 detects therising edge of the frame status flag signal FSF, the process proceeds tostep S82, otherwise proceeds to step S80 (step S81). In step S82, theCPU 201 instructs the ADC 208 to start converting the analog pixel datainto the digital data. After that, in step S83, the CPU 201 checks thepixel strobe PDS as transmitted from the image sensor 43. Then, when CPU201 detects the rising edge of the pixel strobe PDS, the processproceeds to step S85, otherwise proceeds to step S83 (step S84).

In step S85, the CPU 201 determines whether or not X=−1, i.e., “X” isthe first pixel. As explained before, since the first pixel of each rowis set as the dummy pixel, if the CPU 201 determines “YES” in step S85,in the next step S87, the CPU 201 does not acquire the pixel data at thetime but increments the element number “X”.

If the CPU 201 determines “NO” in step S85, since the pixel data ispixel data after second in the row, in step S86 and S88, the CPU 201acquires the pixel data at the time and stores it in temporary register(not shown). After that, the CPU 201 proceeds to step S72 of FIG. 36.

In step S72 of FIG. 36, the CPU 201 assigns the pixel data stored in thetemporary register to the pixel data array P[X][Y].

In step 573, the CPU 201 increments “X”. If X is smaller than “32”, theprocess from step S71 to step S73 is repeatedly executed. If X=32, i.e.,the acquisition of pixel data reaches the end of the row, the CPU 201sets “−1” to “X” in step S75, and then increments “Y” in step S76. Then,CPU 201 repeats the pixel data acquiring process from head of the nextrow.

In step S77, if Y=32, i.e., the acquisition of pixel data reaches theend of the pixel data array P[X][Y], the CPU 201 proceeds to step S61 ofFIG. 35.

FIG. 38 is a flowchart showing the process flow of the target pointextracting process of step S61 of FIG. 35. As illustrated in FIG. 38, instep S90, the CPU 201 calculates the difference between the pixel datawith and without light emitted from the infrared-emitting diodes 15 toobtain differential data. In step S91, the CPU 201 assigns thedifferential data to the array Dif[X][Y]. In this embodiment, since the32 pixel×32 pixel image sensor 43 is used, X=0 to 31 and Y=0 to 31.

In step S93, the CPU 201 scans all elements of the array Dif[X][Y] todetect the maximum value from all elements of the array Dif[X][Y]. Instep S94, if the maximum value is larger than the predeterminedthreshold value “Th”, the CPU 201 proceeds to step S95. If the maximumvalue is smaller than the predetermined threshold value “Th”, the CPU201 proceeds to step S10 of FIG. 29.

In step S95, the CPU 201 calculates the coordinate (Xc, Yc) of thetarget point of the operation article 150 on the basis of the coordinateof the maximum value. In step S96, the CPU 201 increments a value of thevariable “M” by one (M=M+1).

In step S97, the CPU 201 assigns the coordinates xc and Yc to the arrayPX[M] and PY[M]. Then, in step S98, the CPU 201 calculates the movingaverage (AX[M], AX[M] of the target point (Xc, Yc) of the operationarticle 150. In step S99, the CPU 201 converts the average coordinate(AX[M], AY[M]) of the target point on the image sensor 43 into thecoordinate (xc,yc) on the screen 91 of the television monitor 90.

FIG. 39 is a flowchart showing the process flow of the target pointcoordinate calculating process of step S95 of FIG. 38. As illustrated inFIG. 39, in step S100, the CPU 201 assigns the X coordinate and Ycoordinate of the maximum value calculated in step S93 to “m” and “n”.In step S100, the CPU 201 increments “m” by one (m=m+1).

If the differential data Dif[m][n] is larger than the predeterminedthreshold value “Th”, the CPU 201 proceeds to step S103, otherwiseproceeds to step S104 (step S102). In step S103, the CPU 201 assigns “m”at the time to “mr”. In this way, the CPU 201 scans from the coordinateof the pixel having the maximum value in positive direction of X-axiswhile repeatedly executing the process from step S101 to S103 andobtains the X-coordinate of the endmost differential data exceeding thethreshold value “Th”.

In step S104, the CPU 201 assigns the X-coordinate of the maximum valuecalculated in step S93 to “m”. In step S105, the CPU 201 decrements “m”by one. If the differential data Dif[m ][n] is larger than thepredetermined threshold value “Th”, the CPU 201 proceeds to step S107,otherwise the CPU 201 proceeds to step S108 (step S106). In step S107,the CPU 201 assigns “m” at the time to “ml”. In this way, the CPU 201scans from the coordinate of the pixel having the maximum value innegative direction of X-axis while repeatedly executing the process fromstep S105 to S107 and obtains an X-coordinate of the endmostdifferential data exceeding the threshold value “Th”.

In step S108, the CPU 201 calculates the center coordinate betweenX-coordinate “mr” and X-coordinate “ml”, and makes use of it as theX-coordinate (Xc) of the target point. In step S109, the CPU 201 assignsthe “Xc” calculated in step S108 and the Y-coordinate of the pixelhaving the maximum value calculated in step 593 to “m”and “n”. In stepS110, the CPU 201 increments “n” by one (n=n+1). If the differentialdata Dif[m][n] is larger than the predetermined threshold value “Th”,the CPU 201 proceeds to step S112, otherwise proceeds to step S113 (stepS111). In step S112, the CPU 201 assigns “n” at the time to “nd”. Inthis way, the CPU 201 scans from the coordinate of the pixel having themaximum value in positive direction of Y-axis while repeatedly executingthe process from step S110 to S112 and obtains the Y-coordinate of theendmost differential data exceeding the threshold value “Th”.

In step S113, the CPU 201 assigns the Y-coordinate of the pixel havingthe maximum value calculated in step S93 to “n”. In step S114, the CPU201 decrements “n”by one. If the differential data Dif[m][n] is largerthan the predetermined threshold value “Th”, the CPU 201 proceeds tostep S116, otherwise proceeds to step S117 (step S115). In step S116,the CPU 201 assigns “n” at the time to “nu”. In this way, the CPU 201scans from the coordinate of the pixel having the maximum value innegative direction of Y-axis while repeatedly executing the process fromstep S114 to S116 and obtains the Y-coordinate of the endmostdifferential data exceeding the threshold value “Th”.

In step 5117, the CPU 201 calculates a center coordinate between theY-coordinate “nd” and the Y-coordinate “nu”, and makes use of it as theY-coordinate (Yc) of the target point. In this way, the coordinate (Xc,Yc) of the target point of the operation article 150 is calculated.

FIG. 40 is a flowchart showing the process flow of the following objectcontrol process of step S8 of FIG. 29. As illustrated in FIG. 40, instep S140, the CPU 201 calculates the display coordinate (xm[M], ym[M])of the mermaid 112 using the formula (3) and formula (4), and registersit.

In step S141, the CPU 201 determines whether or not the mermaid 112clashes the obstacle image “Q” or the obstacle object “P” on the framebeing displayed with reference to the clash flag. As a result, if theclash flag is on, the CPU 201 proceeds to step S151, otherwise proceedsto step S142 (step S141).

In step S142, the CPU 201 compares the x-direction movement distance“mx” of the mermaid 112 with the predetermined value “xr”. In addition,the CPU 201 compares the y-direction movement distance “my” of themermaid 112 with the predetermined value “yr”. In step S143, the CPU 201sets the angle flag on the basis of the result of the comparison of stepS142 (refer to FIG. 22A).

In step S144, the CPU 201 refers to the sign of the velocity vector(Vxm[M], Vym[M]) of the mermaid 112. In step S145, the CPU 201 sets thedirection flag on the basis of the sign of the velocity vector (refer toFIG. 22B).

In step S146, the CPU 201 determines the movement direction informationin accordance with the angle flag and the direction flag (refer to FIG.22C). In step S147, the CPU 201 registers storage location informationof the animation table in accordance with the movement directioninformation.

On the other hand, in step S151, the CPU 201 determines whether or notthe obstacle which the mermaid 112 clashed is the obstacle image “Q”. Asa result, if the obstacle is the obstacle image “Q”, the CPU 201proceeds to step S152. If it is not, i.e., the obstacle is the obstacleobject “P”, the CPU 201 proceeds to step S153.

In step S152, the CPU 201 calculates a display coordinate of the mermaid112 on the basis of scroll velocity of the background 120 again andre-registers it. More specifically, the CPU 201 adds the x-element ofthe scroll velocity to the x-coordinate of the mermaid 112 and makes useof it as the new x-coordinate of the mermaid 112. The y-coordinate ofthe mermaid is same as the previous y-coordinate. On the other hand, instep S153, the CPU 201 re-registers the coordinate of the mermaid 112being displayed.

In step S154, the CPU 201 registers the storage location information ofthe animation table which is used when the mermaid 112 clashes. In stepS155, the CPU 201 turns the clash flag off.

Next, in step S148, the CPU 201 determines whether or not the mermaid112 clashes the obstacle image “Q” or the obstacle object “P” on thebasis of the coordinate of the mermaid 112 calculated in step S140.Then, if the CPU 201 determines the mermaid 112 clashes, it turns theclash flag on.

In this embodiment, since the cursor 111 (the coupled object) moves inconjunction with the motion of the operation article 150, it is possibleto operate the cursor 111 intuitively and make it easier to play thegame with easy operation.

In addition, since the cursor 111 represents location of the operationarticle 150 on the screen 91, the motion of the cursor 111 should besynchronized or almost synchronized with the motion of the operationarticle 150. Therefore, the motion of the cursor 111 is restrained bythe motion of the operation article 150. On the other hand, since themermaid 112 (the following object) follows the motion of the cursor 111,it is possible to decide arbitrarily how the mermaid 112 follows thecursor 111. Therefore, it is possible to give variety to the movement ofthe mermaid 112 and give the player impressive optical effects. In thisembodiment, the mermaid 112 moves as if it were swimming in the water byadding acceleration determined by positional relation between the cursor111 and the mermaid 112, and resistance corresponding to its velocity tothe movement of the mermaid 112 (refer to the formula (3) and formula(4)).

Moreover, in this embodiment, the CPU 201 manages the power gauge 131(an indicator showing remaining power of the mermaid 112) and ends thegame with reference to the power gauge 131. In other words, in thisembodiment, when the length of the bar 103 of the power gauge reaches“0”, the game is over. In this way, the player 94 can not play the gamewithout any restriction. Therefore, since the player 94 has to play thegame carefully with a sense of tension, the game becomes more exciting.

Furthermore, in this embodiment, the power gauge 131 is changedaccording not to the first rule (a general rule) but to the second rule(an exceptional rule which is disadvantageous for the player 94) whenthe mermaid 112 touches or enters the area which contains a restrictiveimage (the obstacle object “P” or the obstacle image “Q”). Morespecifically, in this case, the bar 103 of the power gauge 131 becomesdrastically shorter (the second rule). Accordingly, since the player 94needs to operate the mermaid 112 through the cursor 111 to avoid therestrictive image, the game becomes more exciting.

In addition, in this embodiment, the power gauge 131 is changedaccording not to the first rule (the general rule) but to the third rule(an exceptional rule which is advantageous for the player 94) when themermaid 112 touches or enters the area where the item 110 or 126 isdisplayed. More specifically, in this case, the bar 103 of the powergauge 131 becomes a certain length longer (the third rule). Accordingly,since the player 94 needs to operate the mermaid 112 through the cursor111 trying to obtain the item 110 and 126, the game becomes moreexciting.

Moreover, in this embodiment, because the background 120 contains theobstacle image “Q”, controlling the background scroll and controllingthe obstacle image “Q” are similar in the meaning. Therefore, it becomeseasier to perform the display control of the obstacle image “Q”.

Furthermore, in this embodiment, since the obstacle object “P” isconstructed by a single or several sprite(s), it is possible to performmore detailed display control of the obstacle object “P” so that theflexibility of designing game contents is improved.

Moreover, in this embodiment, it is possible to use any one of stateinformation of the operation article 150 such as the speed information,the movement direction information, the movement distance information,the velocity vector information, the acceleration information, themotion path information, the area information and the positionalinformation, or a combination thereof. Accordingly, since it is possibleto control the cursor 111 and the mermaid 112 by using variousinformation of the operation article 150, the flexibility of designinggame contents is improved.

Additionally, in this embodiment, the game apparatus 1 images theoperation article 150 by intermittently emitting light to the operationarticle 150 to derive the state information of the operation article150. Accordingly, it is not necessary to provide the operation article150 with a power supply circuit and electric circuits. Therefore, it ispossible to improve operationality and reliability of the operationarticle 150 and also reduce the cost.

Next, a modification of this embodiment will be explained. FIG. 41 is aview showing an example of the game screen in the modification of thisembodiment. As illustrated in FIG. 41, a maze comprising a pathway 133and a wall 134 is displayed on the screen 91 of the television monitor90. The player 94 operates the operation article 150 to operate a cursor135 on the screen 91. This cursor 135 is similar to the cursor 111 shownin FIG. 11 to FIG. 13, and the cursor 135 moves in conjunction with theoperation article 150. Meanwhile, controlling the cursor 135 is similarto controlling the cursor 111.

The player 94 operates the cursor 135 by means of the operation article150 to proceed the pathway 133. When the cursor 135 reaches the rightedge or left edge of the screen 91, the game screen is scrolled.Meanwhile, the scroll control is similar to the scroll control performedin the above embodiment. Therefore, the game screen is formed as thebackground screen 140 (refer to FIG. 15).

FIG. 42 is a view for explaining a clash judgment on the game screen ofFIG. 41. As illustrated in FIG. 42, the range (28×32 blocks) displayedon the screen 91 within the background screen 140 is taken intoconsideration. Then, the array JA[0] to JA[895] corresponding to 28×32blocks is provided. Meanwhile, the array JA[0] to JA[895] may becollectively called the array JA. Then, “0” is assigned to the array JAcorresponding to the block constructing the pathway 133, and “1” isassigned to the array JA corresponding to the block constructing thewall 134.

The CPU 201 checks an element of the array JA corresponding to the blocklocated at the position of the target point of the operation article150. Then, if the element of the array JA is “1”, the CPU 201 makes thecursor 135 move to the wall 134 as bellow. More specifically, the cursor135 can not move through the wall 134.

FIG. 43 is a view for explaining the coordinate calculation when thecursor 135 of FIG. 41 clashes the wall 134. As illustrated in FIG. 43,for example, the block 149 corresponding to the array JA[10] assigned“1” as an element is taken into consideration. In addition, it isassumed that the previous position of the target point is at point A andthe current position of the target point is at point B. In this case,the CPU 201 derives which straight line “ab”, “bc”, “cd”, or “da”crosses the straight line AB. In other ward, if the cross product is“0”, the intersecting point of the two vectors does not exist.

Next, the CPU 201 calculates the intersecting point “I” of the straightline AB and the straight line “ac” intersecting the straight line AB.Then, the CPU 201 makes use of the coordinate of the intersecting point“I” as a current display coordinate of the cursor 135. In thisconfiguration, the cursor 135 does not thrust into the wall 134.

According to this modified example, since the cursor 135 moves inconjunction with the motion of the operation article 150, it is possibleto operate the cursor 135 intuitively so that the player can play themaze game with easy operation.

Incidentally, it is possible to make an only certain area including thecursor 135 visible by making the rest of the area dark as though thearea were spotlighted. In this way, even though the maze is easy, theplayer 94 feels more difficulty, and the game becomes more exciting.

In above mentioned example, the cursor 135 is operated by the operationarticle 150. However, as illustrated in FIG. 11, it is possible to use afollowing object in addition to the cursor 135, and operate thefollowing object by operating the cursor 135. In this case, for example,the cursor control and the following object control are performed insimilar way to the cursor 111 and the mermaid 112.

By the way, in above example, if the target point of the operationarticle 150 enters the block corresponding to the array JA assigned “1”as its element, the cursor 135 is moved to the border between thepathway 133 and the wall 134 so that the cursor 135 can move only withinthe pathway 133. However, it is possible to end the game if the targetpoint of the operation article 150 exists in the block 149 correspondingto the array JA assigned “1” as its element. Therefore, in this case,the player 94 has to operate the cursor 135 trying to avoid clashing thewall 134. Incidentally, as illustrated in FIG. 11, it is possible to usea following object in addition to the cursor 135, and operate thefollowing object by operating the cursor 135.

In this modified example, since the cursor 135 can be operated by movingthe operation article 150 as well as the above mentioned embodiment, theplayer 94 can enjoy feeling as if the player 94 operated the operationarticle 150 to avoid obstacles existing in real space even though thewall 134 corresponding to an obstacle exists on the screen 91. Inaddition, it is possible to reduce the cost and necessary space to playthe game as compared to game apparatus for dodging obstacles in realspace.

Incidentally, the present invention is not limited to the aboveembodiment, and a variety of variations and modifications maybe effectedwithout departing from the spirit and scope thereof, as described in thefollowing exemplary modifications.

(1) The mermaid 112 as the following object is made to follow the cursor111 (the coupled object) in the case of this embodiment. However, it ispossible to use the mermaid 112 instead of the cursor 111 without usingthe mermaid 112 as the following object. In this case, the player 94operates the operation article 150 to move the mermaid 112 as the cursor111. In this way, the player 94 directly operates the mermaid 112 bymeans of the operation article 150. Incidentally, in the aboveembodiment, the player 94 indirectly operates the mermaid 112 throughthe cursor 111 which is operated by the operation article 150.

(2) In the above embodiment, the operation article 150 which consists ofthe stick 152 and the reflecting ball 151 is used as an operationarticle. However, if the operation article is provided with a reflectingportion, it is not limited to the operation article 150.

(3) In the above embodiment, the coordinate of the target point of theoperation article 150 is derived in the manner described in FIG. 20A toFIG. 20D. However, it is possible to define the coordinate of the pixelhaving the maximum luminance value exceeding the predetermined thresholdvalue “Th” as a coordinate of the target point.

(4) While any appropriate processor can be used as the high speedprocessor 200 of FIG. 6, it is preferred to use the high speed processorin relation to which the applicant has been filed patent applications.The details of this high speed processor are disclosed, for example, inJpn. unexamined patent publication No. 10-307790 and U. S. Pat. No.6,070,205 corresponding thereto.

The foregoing description of the embodiments has been presented forpurposes of illustration and description. It is not intended to beexhaustive or to limit the invention to the precise form described, andobviously many modifications and variations are possible in light of theabove teaching. The embodiment was chosen in order to explain mostclearly the principles of the invention and its practical applicationthereby to enable others in the art to utilize most effectively theinvention in various embodiments and with various modifications as aresuited to the particular use contemplated.

1. A game apparatus comprising; a stroboscope operable to direct lightonto a operation article at predetermined intervals; a imaging deviceoperable to image said operation article with and without light emittedfrom said stroboscope, and generate a lighted image signal and anon-lighted image signal; a differential signal generating unit operableto generate a differential signal between said lighted image signal andsaid non-lighted image signal; a state information calculating unitoperable to calculate state information of said operation article on thebasis of said differential signal; a coupled object control unitoperable to control display of a coupled object which moves as saidoperation article moves in accordance with said state information ofsaid operation article; a restrictive image control unit operable tocontrol a restrictive image which limits movement of said coupledobject.
 2. A game apparatus comprising; a stroboscope operable to directlight onto a operation article at predetermined intervals; a imagingdevice operable to image said operation article with and without lightemitted from said stroboscope, and generate a lighted image signal and anon-lighted image signal; a differential signal generating unit operableto generate a differential signal between the lighted image signal andthe non-lighted image signal; a state information calculating unitoperable to calculate state information of said operation article; acursor control unit operable to control display of a cursor indicatinglocation of said operation article on a screen; a following objectcontrol unit operable to control display of a following object whichfollows said cursor on the basis of a coordinate information of saidcursor.
 3. A game apparatus as claimed in claim 2 further comprising arestrictive image control unit operable to control a restrictive imagewhich limits movement of the following object.
 4. A game apparatus asclaimed in claim 1 further comprising a game managing unit operable tomanage information indicating whether a player can continue a game andends the game in accordance with said information.
 5. A game apparatusas claimed in claim 3 further comprising a game managing unit operableto manage information indicating whether a player can continue a gameand ends the game in accordance with said information.
 6. A gameapparatus as claimed in claim 1 wherein said restrictive image controlunit comprises; a background image control unit operable to controlbackground scroll; and wherein said background image includes saidrestrictive image.
 7. A game apparatus as claimed in claim 3 whereinsaid restrictive image control unit comprises; a background imagecontrol unit operable to control background scroll; and wherein saidbackground image includes said restrictive image.
 8. A game apparatus asclaimed in claim 1 wherein said restrictive image control unit comprisesa restrictive object control unit operable to control a restrictiveobject which consists of a single sprite or a plurality of sprites assaid restrictive image.
 9. A game apparatus as claimed in claim 3wherein said restrictive image control unit comprises a restrictiveobject control unit operable to control a restrictive object whichconsists of a single sprite or a plurality of sprites as saidrestrictive image.
 10. A game apparatus as claimed in claim 1 whereinsaid restrictive image is an image constructing a maze.
 11. A gameapparatus as claimed in claim 3 wherein said restrictive image is animage constructing a maze.
 12. A game apparatus as claimed in claim 1wherein, when said coupled object touches or enters an area where saidrestrictive image is displayed, a game is over.
 13. A game apparatus asclaimed in claim 3 wherein, when said following object touches or entersan area where said restrictive image is displayed, a game is over.
 14. Agame apparatus as claimed in claim 1 wherein said state information ofsaid operation article derived by said state information calculatingunit includes any one of speed information, movement directioninformation, movement distance information, velocity vector information,acceleration information, motion path information, area information andlocation information, or a combination thereof.
 15. A game apparatus asclaimed in claim 2 wherein said state information of said operationarticle derived by said state information calculating unit includes anyone of speed information, movement direction information, movementdistance information, velocity vector information, accelerationinformation, motion path information, area information and locationinformation, or a combination thereof.
 16. An operation article operatedby a player of said game apparatus as claimed in claim 1 comprising; astick gripper held by said player; and a reflecting portion which isattached to one end of said stick gripper and retroreflects light. 17.An operation article operated by a player of said game apparatus asclaimed in claim 2 comprising; a stick gripper held by said player; anda reflecting portion which is attached to one end of said stick gripperand retroreflects light.
 18. A game program which enables a computer toperform a process, said process comprising: a step of directing lightonto an operation article at predetermined intervals; a step of imagingsaid operation article with and without light emitted, and generating alighted and a non-lighted image signal; a step of generating adifferential signal between said lighted image signal and saidnon-lighted image signal; a step of calculating state information ofsaid operation article; a step of controlling display of a coupledobject which moves as said operation article moves in accordance withsaid state information of said operation article; and a step ofcontrolling a restrictive image which limits movement of said coupledobject.
 19. A game program which enables a computer to perform aprocess, said process comprising; a step of directing light onto anoperation article at predetermined intervals; a step of imaging saidoperation article with and without light emitted, and generating alighted and a non-lighted image signal; a step of generating adifferential signal between said lighted image signal and saidnon-lighted image signal; a step of calculating state information ofsaid operation article; a step of controlling display of a cursor whichindicates location of said operation article on a screen on the basis ofsaid state information; and a step of controlling display of a followingobject which follows said cursor on the basis of coordinate informationof said cursor.